package day0105;

import org.junit.Test;

public class Demo2 {
	@Test
	public void test1() {
		double num1 = 7;
		double num2 = 3;
		double result = num1 / num2; // 取商
		System.out.println(result);
		System.out.println(num1 % num2); // 取余数
	}

	// ++i 与 i++ 的区别 被执行时i++先执行后自增，++i先自增后执行
	@Test
	public void test2() {

		int i = 3;
		i = i + 1;
		System.out.println(i);// 4
		i++;
		System.out.println(i);// 5
		System.out.println(i++);// 5 i=6
		System.out.println(++i);// 7
	}

	// && || 短路
	@Test
	public void test3() {
		int i = 3;
		int j = 5;
		// && 短路 当左边已经是false时不执行右边，直接返回结果false
		System.out.println(i < 0 && i++ < j); // false
		System.out.println(i);// 3
		System.out.println(j);// 5

		// || 短路 当左边为true 不执行右边直接返回结果true
		System.out.println(i > 0 || i++ < j);// true
		System.out.println(i);// 3
		System.out.println(j);// 5
	}
	
	@Test
	public void test4() {
		char ch1 = 'a';
		char ch2 = '0';
		
		System.out.println(ch1);   //a
		System.out.println(ch1 + 1);  //98   从小到大自动类型转换
		System.out.println((char)(ch1 + 1)); // 从大到小需要强制转换 
		System.out.println(3.14); // 3.14
		System.out.println((int)3.14); //3    强制转换 丢失精度
		
	}

}
